Method and device for controlling an image forming device

ABSTRACT

A method and device for controlling an image forming device in which image forming stations can form an image on a medium that is advanced past these stations. For each image under formation, the positions occupied by the leading and trailing edges are registered with respect to the image forming stations. Signals for controlling the image forming stations are generated depending upon the positions registered. In doing so, the positions of the leading and trailing edges are compared with predetermined positions belonging to a first and second group respectively. If two compared positions correspond to one another, a control signal will be generated that is associated with the specific predetemined position used for the comparison.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a method for controlling an image forming device. The invention also relates to a device for performing this method of control.

2. Description of the Prior Art

U.S. Pat. No. 3,944,360 discloses a method for controlling an image forming device in which images can be formed on an advancing medium. The position of an image on the medium with respect to an initial position thereon is The ENDEC 12 further functions to recover data received from the network media 36 via the interface system component 18 and the serial data bus 32. This recovered data is then transferred to the node controller 14 over the return data bus 26.

The interface system component 18 functions to provide a physical interconnect between the node 10 and network media 34, 36. As such, the interface 18 may simply be a coaxial "T" connector, for example. Depending on the nature of the network media 34, 36, however, the interface may perform a more complex function. Where the media 34, 36 is an optical fiber communications cable, the interface 18 also preferably includes an electro-optic transmitter and receiver.

Finally, the network media 34, 36 itself is preferably only a passive single high-speed serial data bus that physically interconnects each of the nodes 10. The topology of the network, i.e., ring, redundant loop, or linear, is thus established by how the nodes are interconnected, in terms of nearest neighbor relationships, by the physical network media.

II. Network Protocols

There are a number of somewhat different networking protocols, or systematic procedures of operation, that may be implemented to control the overall operation of the network. A design choice in the assemblage of the network is the selection of one of these protocols for implementation. One exemplary protocol, and the one preferably implemented in a network utilizing the present invention, is a token-passing, ring topology network protocol wherein communication between nodes is by means of data packets. A general description and discussion of this protocol and its principles of operation as well as other conventional protocols may be had by reference to "New Standards for Local Networks Push Upper Limits for Light Wave Data", S. Joshi et al., Data Communications, July 1984, pp. 127-38.

In brief, the exemplary protocol calls for the ordered access of each node to the entire network. A node having the right to access the network, i.e., the current "token" holder, may initialize a network communication sequence wherein a number of data packets are exchanged with one or more other network nodes. At the conclusion of the communication sequence, the "token" is passed to the next successive node of the network. Another communication sequence may then be initialized by the "token" holder.

Typically, the data packets are themselves only a part of a continuous data stream that traverses the network. As will be described in greater detail below, each packet includes a header portion, a data body portion, and a trailer portion. The packets may be separated from one another in the data stream by a filler code that acts to maintain status communication between all of the nodes by reflecting the line-state of the network even though no data packets are being transferred. The most primitive or basic protocol functions performed by a node include recognizing the current line-state of the network and asserting requests with respect to the line-state.

III. ENDEC Component System

1. Architecture and Data Flow Organization.

The present invention provides an encoder/decoder component system fully capable of performing all of the required functions of an ENDEC 12 in a local area network node. Accordingly, FIG. 2 provides a block diagram of the preferred embodiment of an ENDEC 12 consistent with the present invention.

The ENDEC 12 includes two major subsections 12_(T), 12_(R). The first is a transmitter subsection 12_(T) including a multiplexer 46, register 60 and encoder 62, selector 64, serial shift register 66, non-return-to-zero invert-on-ones (NRZI) converter 68, and an AND gate 42. The receiver subsection 12_(R) includes a multiplexer 40, buffer 50, decoder 52, multiplexer 44, and register 48. These two subsections are jointly controlled by a command management (CMT) unit 56 and a clock unit 54.

In greater detail, the ENDEC 12 may receive two separate parallel data streams, T_(A), T_(B), over the respective transmitter input lines 24_(A), 24_(B). This parallel data, as provided by the node controller 14, preferably includes a single data byte, high and low order nibble control/data bits, and a parity bit. The multiplexer 46 receives the two transmitter parallel data streams on its A and B inputs, and, further, an equivalently formatted received data word stream on the multiplexer 46 C input as provided by the receiver subsection via bus 74. The selection of one of the three input parallel data streams is in response to control signals provided on control lines 82 by the CMT 56. The selected data is transferred by the multiplexer 46 over the parallel data bus 84 to the register 60 where it is latched in response to a clock signal provided by the clock unit 54 on line 86. Each parallel data word is thus sequentially provided via the register 60 to the encoder circuit 62 for encoding.

In accordance with the preferred embodiment of the present invention, the encoder 62 implements a 4B/5B encoding scheme wherein each high and low order nibble of the data byte is encoded in combination with its respective control/data bit to provide 2 five-bit code symbols. Table I sets forth each unencoded data nibble, as well as its preferred corresponding encoded bit group and code symbol assignment. Preferably each data packet header includes a JK code symbol pair as a start delimiter followed by a data body of data code symbols, further followed by a trailer beginning with a terminator code symbol and, optionally, a following control symbol. The filler portion of the data stream between data packets is itself simply a sequence of line-state symbols that approximately indicate the current status of the network medium.

                  TABLE I                                                          ______________________________________                                                 Con-                                                                           trol   Data     Encoded                                                Symbol  Data   Nibble   Bit                                                    Group   Bit    (Hex)    Group  Symbol Assignment                               ______________________________________                                         Line-State                                                                             1      0        00000  Q      Quiet                                    Indicators                                                                             1      7        11111  I      Idle                                             1      4        00100  H      Halt                                     Starting                                                                               1      C        11000  J      Start of                                 Delimiters                                                                             1      3        10001  K      packet header                            Data    0      0        11110  0                                               Symbols 0      1        01001  1                                                       0      2        10100  2                                                       0      3        10101  3                                                       0      4        01010  4                                                       0      5        01011  5                                                       0      6        01110  6                                                       0      7        01111  7                                                       0      8        10010  8                                                       0      9        10011  9                                                       0      A        10110  A                                                       0      B        10111  B                                                       0      C        11010  C                                                       0      D        11011  D                                                       0      E        11100  E                                                       0      F        11101  F                                               Ending  1      D        01101  T      Termination                              Delimiter                                                                      Control 1      1        00111  R      Reset                                    Indicators                                                                             1      9        11001  S      Set                                      Physical                                                                               1      F               Phy-I  Physical                                 Error   1      E               J.Phy-I                                                                               Invalid                                                                        Smash JK                                 Misc.   1      2               X      Not defined;                             Group                                 treat as halt.                           Symbols 1      5               H      Improperly                                                                     transmitted;                                                                   treat as halt.                                   1      6               X      Not defined;                                                                   treat as halt.                                   1      8               V      Violation                                        1      A               H      Improperly                                                                     transmitted;                                                                   treat as halt.                                   1      B               H      Improperly                                                                     transmitted;                                                                   treat as halt.                           ______________________________________                                    

The encoder 62, in the process of encoding each data byte also regenertes a parity bit that is then compared to the parity bit supplied with the original parallel data word to determine whether an error has occurred in the transfer of the parallel word from at least the node controller node 14 to the ENDEC 12. The parity error, if present, is reported back to the node controller 14 over the control bus line 22₄.

The encoded data is passed via the encoded data word bus 88 to a selector circuit 34 where, nominally, it is further passed via the parallel bus 92 to the serial shift register 66. As will be described in greater detail below, the CMT unit 56 may direct, via selector control lines 90 that the selector 64 generate and select line-state and, possibly, error code symbols for subsequent transmission. In any case, the code symbols received by the serial shift register 66 are parallel-to-serial converted in response to a transmitter clock signal CTx provided by the clock unit 54 over clock line 94. The serialized data provided by the serial shift register 66 is further converted by a conventional non-return-to-zero invert-on-ones (NRZI) converter 68 to the corresponding preferred serial format. The resulting NRZI data is then provided to the AND gate 42 via the serial data line 96. The serial data stream is preferably further converted to a conventional differential signal by the AND gate 42 and provided on the serial data line pair 30 to the interface system component 18 for transmission.

The receiver subsection 12_(R) of the ENDEC 12 selectably receives serial data streams from the interface system component 18 over a differential signal serial data line pair 32 and from the transmitter subsection 12_(T) over line 96. The multiplexer 40 preferably includes a conventional differential signal receiver for converting the input serial data stream received from the interface 18 into a standard non-differential signal. The multiplexer 40, as directly controlled by the node controller 14 via the connection control bus line 22₁, selects between its two available input data streams and provides the selected received serial data stream to the buffer 50 over the serial data line 70.

The buffer 50 is preferably of a type generally known as an elastic buffer. Such buffers typically include a buffer memory and provide for the asynchronous reading and writing of data contained therein. Thus, variations in the rates at which data is received written into the buffer and subsequently read out may be tolerated.

The buffer 50 preferbly also includes a phase-lock loop and data separator circuit to reconstruct separately the data and a received data clock signal CRx from the received NRZI data stream. The received data clock signal CRx corresponds to the transmitter clock signal of the node 10 transmitting the data currently being received, and is used to synchronize the writing of received data into the buffer memory of the buffer 50. The buffer 50 also receives the transmitter clock signal CTx from the clock unit 54 over line 80 to synchronize the reading of data from the buffer 50 with the remainder of the receiver subsection of the ENDEC 12.

The received data, as it is read from the buffer 50, is provided to the decode unit 52 over the serial data line 72. As will be discussed in greater detail below, this serial data is also passed to the CMT unit 56 for monitoring of the current line-state. The decode unit 52, synchronous with the data read from the buffer 50, reconstructs parallel encoded data words from the serial data stream. The decode unit 50 then sequentially decodes each of them to provide a stream of decoded 11-bit-wide parallel data words on the parallel received data bus 74.

The parallel decoded data stream is in turn provided to the multiplexer 44 as one input thereto. Two additional parallel data word inputs to the multiplexer 44 are obtained from the two transmitter lines 24_(A), 24_(B), respectively. The multiplexer 44 is controlled by the CMT unit 56 to select between its three inputs. The selected received data word stream is provided by the multiplexer 44 on the parallel data bus 46 to the register 48 where it is buffered prior to transfer to the node controller 14 via the parallel receive data bus 26.

The CMT unit 56 of the ENDEC 12 is itself directly controlled by the node controller 14 via the CMTIN lines 22₃, the bypass/loop control lines 22₅ and the transmitter A/B source select line 22₇. The CMTIN control lines 22₃ permit the node controller 14 to specify to the CMT unit 56 that it is to operate the selector 64 of the ENDEC 12 so as to implement specific primitive local area network protocols to establish the node 10 as, for example, a peer, master or slave unit. The status of the CMT unit 56, as well as the line-state of the network as perceived by the CMT unit 56, is reported back to the node controller 14 via the CMTOUT lines 22₂. The CMTIN control lines 22₃ also permit the node controller 14 to functionally disable the CMT unit 56 so that no primitive protocols are implemented. The nature and purpose of the preferred primitive protocols, as well as the operation of the CMT unit 56, will be described in greater detail below.

The bypass/loop control lines 22₅, transmitter A/B source select line 22₇ and the connector control line 22₁ together permit the node controller 14 to select the data stream paths through both the transmit and receive subsections 12_(T), 12_(R) of the ENDEC 12. Significantly, this allows the node controller 14 to configure the data paths through the ENDEC 12 to implement a high degree of self-diagnostic capabilities within the node 10. That is, the node controller 14 may bypass the majority of the ENDEC 12 by routing a transmitter parallel data stream from either of the transmitter input lines 24_(A), 24_(B) through the multiplexer 44 and register 48 directly back to the node controller 14, thereby allowing direct testing of the parallel data path between the node controller 14 and the ENDEC 12. Substantiallyl all of the internal circuitry of the ENDEC 12 may also be tested by the node controller 14 by appropriately selecting a loop-back path from the output of the NRZI unit 68 to the multiplexer 40 via the serial data line 96 and back through essentially the entire receive subsection of the ENDEC 12.

Further, the node controller 14 may elect to allow another node of the local area network to evaluate the operation of the ENDEC 12 and all the intervening components of the network. That is, the node controller 14 may select via the bypass loop-back control lines 22₅ to configure the multiplexer 46 to select the decoded receive parallel data from the decode unit 52 to be passed by the multiplexer 46 as the parallel data to be encoded, serialized and subsequently retransmitted onto the network media. In this manner, large sections of the network can be evaluated so as to determine those elements that, for example, contribute to the progressive degradation of data as it's passed through the corresonding section of the network.

2. Buffer and Decode Section Detail

Referring now to FIG. 3, the preferred implementation of the buffer 50 and decode unit 52 are shown. In accordance with the preferred embodiment of the present invention, the serial received data stream provided on line 70 by the multiplexer 40 is a non-differential serial signal containing non-return-to-zero invert-on-ones encoded data. Thus, to recover the data from the serial data stream provided, a conventional data separator 100 and receiver phase-lock loop 102 are employed. A reference frequency, .0._(REF), is provided by the clock unit 54 phase-lock loop 104. Based on this reference frequency, the data separator 100 and receive phase-lock loop 102 locks onto and regenerates separately the received data clock signal CRx and the encoded serial data stream on lines 132 and 136, respectively.

As generally indicated above, the data stream containing data packets may be received by the ENDEC 12 at a rate that differs by a small but significant amount from the transmit clock signal CTx as directly derived from the system clock .0._(SYS) signal. In the present invention, a serial data stream buffering and resynchronization function is accomplished through the use of a dual ported asynchronous or elastic buffer. Preferably, the elastic buffer includes a linear memory array within a buffer array 110 with separate write and read counter/pointers 108, 112. The asynchronous reading and writing of data to the linear memory array of the buffer array 110 is accomplished by utilizing the write counter/pointer 108, synchronous with the CRx signal, to sequentially point to the next available memory cell of the linear memory array. This permits serial data bits to be written to the buffer array at the rate they are received. The read counter/pointer 112 also sequentially points to memory cells of the linear memory array to allow the CTx signal synchronous reading of buffered serial data bits. Thus, the reading of serial data from the buffer 50 is synchronous with respect to the operation of the decode unit 52 and the node controller 14.

The length of the linear memory array of the buffer array 110 is effectively made infinite by specifying that the counters of both the write pointer 102 and read pointer 112 are reset to zero as they are respectively clocked past ponting at the last memory cell of the buffer array. However, where there is too great a disparity in the rates of reading and writing data from and to the buffer array 110, an overflow/underflow condition occurs. That is, both the write pointer 102 and read pointer 112 effectively pont to the same memory cell of the buffer array 110 resulting in a compromise of data integrity. While the particularly preferred manner of detecting the imminent occurrence of the overflow/undeflow condition will be described below, it is sufficient for purposes of the present invention merely that the elastic buffer 108, 110, 112 detects this condition and provides an appropriate overflow/underflow (OvUd) signal on line 150 to the decoder 52.

The serial data stream, as synchronized by the buffer array 110 to the ENDEC transmitter clock signal CTx, is provided over line 72 to the decode unit 52. Preferably, the decode unit 52 includes a comparator 114, serial-to-parallel shift register 116, a receiver control unit 118, a register 120, and, finally, a decoder 122. In greater detail, the serial data stream including data packets is serially clocked from the buffer array 110 into the shift register 116 in response to the transmitter clock signal CTx pulses provided on line 80. As the encoded data words of the data stream are ten bits long in accordance with the preferred embodiment of the present invention, the shift register 115 is correspondingly ten bits wide. The comparator 114 has, as one input thereto, the single data bit present on the serial data line 72 during each cycle of the transmitter clock signal CTx. The nine low-order bits simultaneously present in the shift register 116 are also provided to the comparator 114 by the partial parallel shift register output comparator input bus 152. thus, the comparator 114 samples a full ten-bit-wide data word during each transmitter clock cycle, one clock cycle prior to the equivalent word being fully shifted into the shift register 116. The comparator 114 thus preferably compares the encoded potential data word presented to it with the code equivalent of the start delimiter JK code symbol pair. Detection of the JK symbol code pair by the compartor 114 is significant in that it signals the imminent presence of a known data word properly aligned in the shift register 116. Upon detecting a JK code symbol pair, the comparator 114 provides a detect signal over line 154 to the receiver control unit 118.

The receiver control unit 118 itself preferably includes a bit counter whose capacity corresponds to the bit length of the encoded data words and counts in response to each cycle of the transmitter clock signals CTx, as provided on line 80. Reception of the JK detect signal from the comparator 114 causes the receive control unit 118 to reinitialize its bit counter and to issue a latch-enable signal to the register 120 over line 160 during the next transmitter clock cycle. This has the desired effect of latching the properly aligned full ten-bit-wide data word present in the shift register 116 as provided over the parallel data bus 158, into register 120. Subsequent serial data words are partitioned in alignment with their preceding JK code symbol data word by the receiver control unit 118. That is, the bit counter of the receive control unit 118 cycles to its full capacity count as each data word is serially shifted into the shift register 116 and into alignment with its preceding JK code symbol pair. The bit counter then preferably self-resets and causes the receive control unit 118 to issue its latch enable signal on line 160. Thus, the serial data stream is successively partitioned into encoded parallel data words and successively passed to the register 120 and the decoder 122.

A error condition particular to local area networks arises when data packets are transmitted onto the network such that they overlap one another. This condition is generally referred to as a collision or smash condition. In accordance with the present invention, a potential smash condition is detected by the receiver control unit 118 whenever a JK code symbol pair detect signal is received from the comparator 114 yet the bit counter of the receive control unit 118 is not at its capacity count. This indicates that the currently detected JK code symbol pair is out of alignment with the Jk code symbol pair last previously processed through the decode unit 52. In response, the receive control unit 118 issues a smash condition detected signal over line 156 to the register 120, reinitializes its bit counter to adjust the partioning of data words into alignment with the presently detected JK code symbol pair and enables register 120 to latch in the smash condition as a separate bit in the register 120 along with the JK code symbol pair. The state of the overflow/underflow (OvUd) signal, as provided on line 150, is also latched into the register 120 as a further parallel bit therein.

The register 120 provides its latched data word of code, data or line-state symbols to the decode 122 by way of the parallel data word bus 158'. Similarly, the overflow/underflow and smash condition error bits are passed to the decoder 122 over the bit lines 150', 156', respectively.

The decoder 122, in turn, decodes its inputs, preferably in accordance with Table I. That is, the high and low order five bits of the encoded data word are decoded to their respective unencoded binary nibbles and provided on the parallel data bus 160. Their respective decoded control/data indicators are provided on their respective high and low order control/data bit lines 164, 166. Finally, the decoder 122 further generates a parity bit corresponding to the value of the decoded data byte and provides it on the parity bit line 162. Consequently, the desired parallel data stream is reconstructed by the decoder 122 and provided on the parallel received data bus 74 and, as earlier noted, provided to the multiplexer 44, as shown in FIG. 2.

The decoder 122 advantageously further functions to ultimately provide the node controller 14 with an direct indication of the occurrence of both the overflow/underflow and smash error conditions. That is, the decoder 122 alters the otherwise normal decoding of the encoded data word provided on parallel data bus 158' whenever an error data bit is provided on the error bit lines 150', 156'. In particular, the decoder 122 effectively abandons the decoding of the encoded data word whenever the overflow/underflow error bit is present. Instead the decoder 122 effectively decodes a pair of physical-invalid error symbols and provides the corresponding parallel decoded data word on the parallel data bus 74. That is, the decoder 132 provides high and low order nibbles "F", "F" hex with both control/data bits=1, thus indicating that the integrity of the data in the current data packet has been compromised and should be ultimately abandoned by the node controller 14.

Similarly, the decoder 122 alters its decoding of the encoded JK code symbol pair when the smash condition bit is provided on the error bit line 156'. Instead of decoding the JK code symbol pair ot the binary high and low order nibbles "C" and "3" hex with both control/data bits=1, the decoder 122 preferably decodes the smash JK or J physical-invalid condition as high and low order nibbles "E" and "3" hex with both control/data bits=1. Consequently, the decoded data word ultimately provides the node controller 14 with the specific information that both a smash condition has occurred and a new data packet is now being received. This is significant in that it allows the node controller to effectively abandon the overlapped and, therefeore, incomplete data packet while being properly informed that a new and potentially error-free data packet is being transferred from the ENDEC 12. Further significantly, the effective encoding of the smash condition into the otherwise decoded JK code symbol pair equivalent relieves the need to provide an additional physical interconnect control line between the ENDEC 12 and the node controller 14, thus simplifying the physical interface between the two system components without loss of function or flexibility.

2.a. Preferred Elastic Buffer Design

As noted above, a conventional elastic buffer may be utilized to perform the functions of the write pointer 108, buffer array 110, and read pointer 112. However, the preferred design of the elastic buffer 108, 110, 112 is detailed in FIGS. 4-7. In particular, the principal elements of the buffer array 110 are shown in FIG. 4. The cell array 220 of the buffer array 110 is preferably a linear array of separately addressable cell units 200_(n), an exemplary one being shown in FIG. 5. The cell array 200 is analogous to a first-in, first-out (FIFO) memory except that it is asynchronously read and written as permitted by the control circuitry associated with the buffer array 110 and shown in FIGS. 6-7.

For the preferred embodiment of the present invention, the cell array 200 preeferably has a minimum length sufficient to progressively buffer an entire data packet that is simultaneously written to and read from the cell array 200 while tolerating the greatest disparity acceptable between the serial data stream receive and transmit clock rates CRx, CTx. Thus, for an exemplary data packet consisting of 9,000 code symbols (or 45,000 serial bits in length), a transmitter clock signal (CTx) base frequency of 125 mhz with a tolerance value specified at ±0.005 percent and, therefore, a maximum CTx to CRx frequency variance of 0.01 percent, the cell array 200 must provide for an elasticity of ±4.5 serial data bits minimum. In practical terms, this translates into an elastic buffer cell array 200 having a minimum of ten cell units 200_(n) to permit the buffering of an entire data packet without the possibility of incurring a data overflow/underflow error condition. However, for reasons that will become apparent below, the preferred cell unit length of the cell array 200 is 16.

In operation, the write pointer 108 of FIG. 3 is initialized by an INITWp signal provided by the control circuitry of FIG. 7 on control line 146. The binary counter of the writer pointer 108 is acco i.e. when both output register 170 and output register 171 are loaded with a 1.

A pulse generator 180 is connected to the program interrupt input 181 of central processing unit 151. Pulse generator 180 delivers pulses P at a frequency proportional to the speed of belt 1 so that a period of the pulse signal corresponds to a constant displacement of belt 1.

In order to control the copying process, central processing unit 151 carries out a program stored in read-only memory 155. Depending upon the copying order input via control panel 157, the signals delivered by detectors 64, 66 and 67, and the stages of the various copies under formation, central processing unit 151 switches the means and devices required to form the copy on or off. For the purpose of performing each action, depending on whether it is a switching-on or switching-off action, the program initiates a switch-on action routine or a switch-off action routine. During the performance of a switch-on action routine or a switch-off action routine, the output register in question is loaded with a 1 or a 0 respectively. To determine the action times, central processing unit 151 uses a leading edge action table 200, a trailing edge action table 201 and a copy table 202 as shown in FIG. 4. Central processing unit 151 also uses a seam position register 203 for registering the position of seam 42 and an order table 204 for storing the data of the copy orders in progress which are also shown in FIG. 4.

Seam position register 203 consists of a memory location in random access memory 156. Seam position register 203 contains a number which indicates the distance between marker 43 and detector 67. This distance is expressed as a number of periods of pulses P.

Order table 204 consists of a number of memory locations with consecutive addresses in random access memory 156. Order table 204 is used for storing the data of copying orders. A copying order typically involves making a set number of copies of an original with a set exposure intensity. Order table 204 is divided into a number of rows 205 and 208 and a number of columns 209 to 213. Each row can be used to store the data of one copying order, such as (1) the required number of copies (column 209), (2) the number of times that the original still has to be taken past exposure slit 55 (column 210), (3) the number of copies still to be finished (column 211), (4) the length of the copies to be made (column 212), and (5) the exposure intensity (column 213). Hereinafter, the memory locations in columns 209, 210, 211, 212 and 213 will respectively be termed AT, OT, KT, LG and BG.

Order table 204 also comprises an order row pointer (ORW) denoted by reference 254 and an order row counter (ORT) denoted by reference 255. ORW 254 points to the row containing the data of the latest copy order. The AT, OT, KT, LG, BG pointed to be ORW 254 will hereinafter be respectively designated AT(ORW), OT(ORW), KT(ORW), LG(ORW) and BG(ORW). ORT 255 points to the number of orders for which copies are still being formed. ORT 255 is increased by 1 when the data of a new copying order to be executed is input into order table 204, and ORT 255 is reduced by 1 when all the copies of a copying order have been finished.

When a new copying order is introduced, the contents of ORW 254 are first increased by 1 and then the data of the new copying order is stored in the row pointed to by the adjusted ORW 254. If, however, before the increase, ORW 254 points to the last row 208 of order table 204, the data of the new copying order is stored in the first row 205 and ORW 254 is so adjusted that it points to the first row after the adjustment. The order table obtained in this manner always contains the data for those copying orders for which copies are under formation.

Leading edge action table 200 consists of a number of memory locations with consecutive addresses in read-only memory 155. The table is divided into a number of rows 215 to 221 and two columns 222 and 223. In leading edge action table 200, the distances between, respectively, the locations V1 and V2, V2 and V3, V3 and V4, V4 and V5 and V5 and V6 are fixed in column 222 in the rows 216, 217, 218, 219 and 220. The distance between location V1 and a location 0 situated at a distance from exposure place 59A corresponding to the distance covered by belt 1 during the interval of time when the leading edge of an original covers the distance between detector 66 and slit 55 is also fixed in column 222 in row 215. The above distances are expressed as a number of periods of pulses P.

Stored in column 223, in rows 215, 216, 217, 218, 219 and 220, are the initial addresses of the action routines for performing the actions associated with the locations V1, V2, V3, V4, V5 and V6, respectively, which are related to the position of the leading edge of an imaging section. In column 222, row 221 is stored a stop code SC indicating the end of leading edge action table 200.

Similarly, the distances between the locations 0 and B1, B1 and B2, B2 and B3 and B4, and B4 and B5 are fixed in the trailing edge action table 201 in column 244, in rows 246, 247, 248, 249 and 250, respectively. Stored in column 245, rows 246, 247, 248, 249 and 250, are the initial addresses of the action routines for performing the actions associated respectively with the locations B1, B2, B3, B4 and B5, which are related to the position of the trailing edge of an imaging section. In column 244, row 251, stop code SC indicates the end of the trailing edge action table.

Copy table 202 consists of a number of memory locations with consecutive addresses in random access memory 156. Copy table 202 is divided into a number of rows 226 to 231 and a number of columns 232 to 235. In copy table 202, the position of the leading and the trailing edge of the associated imaging section is kept for each copy under formation.

Each row in copy table 202 can be used to indicate the position to one leading edge or the position of one trailing edge. By means of the so-called leading edge/trailing edge bit (hereinafter referred to as VAB), it is indicated in the memory location of a row in column 234 (hereinafter referred to as SG), whether the position of a leading or trailing edge is stored in the associated row.

A row from actiont able 200 or 201 as indicated by VAB is indicated in the memory location in column 233 (hereinafter referred to as AW). The memory location in Column 232 (hereinafter referred to as AG) stores a number which indicates the distance that the associated edge of an imaging section still has to cover before calling on the action routine of which the initial address is stored in the row of the proper action table (as indicated by VAB) pointed to by AW. These distances are expressed as a number of periods of pulses P. Copy table 202 is updated after each pulse P. The manner in which this takes place will be described hereinafter.

A row from order table 204 is pointed to by each memory location in column 235 (hereinafter referred to as OW). Copy table 202 also contains a copy table row pointer (KRW) indicated by 236, a copy table row counter (KRT) indicated by 237, an auxiliary pointer (HW) indicated by 238 and an auxiliary counter (HT) indicated by 239. The most recently referenced row copy table 202 is pointed to by KRW 236. The AG, AW, SG and OW pointed to by KRW 236 are hereinafter referred to respectively as AG(KRW), AW(KRW), SG(KRW) and OW(KRW).

KRT 237 indicates the number of rows in copy table 202 which are in use. For each copy required to be formed, two rows are utilized in copy table 202. The position of the leading edge of the imaging section is registered in one row, and the position of the trailing edge of the imaging section is registered in the other row.

When a row is utilized, the contents of KRW 236 are first increased by 1 and then the row indicated by the adjusted KRW 236 is filled with the necessary data. If, however, KRW 236 points to the last row before the increase is made, the first row 226 will be used and KRW 236 will be adjusted so that the first row 226 is the indicated row after the adjustment.

Also, each time a row is utilized, KRT 237 is increased by 1. KRT 237 is reduced by 1 if the leading or trailing edge passes location V6 or B5 respectively. The way in which this is performed will be described in detail hereinafter.

In addition to register 203 and the above-mentioned tables--200, 201, 202 and 204--there are a number of memory locations in random access memory 156 (hereinafter referred to as the input memory) which are used to store data for the last copy order input via control panel 157 but not yet started. For the enbodiment described herein, the particular input data is the number of copies to be made and the required exposure intensity.

The way in which order table 204, copy table 202 and seam position register 203 are updated, and the way in which the action times are determined, will be described in detail hereinafter with reference to the flow diagrams represented in FIG. 5 through FIG. 13.

FIG. 5 represents the flow diagram of the feeding routine for controlling the feeding of an original in endless path 54. The original feeding routine is carried out by central processing unit 151 at regular intervals (e.g. every 100 milliseconds). After the CPU calls the routine, it first makes a test during the performance of step 300 to check whether the start button has been pressed. If the start button has not been pressed, the original feeding routine is abandoned.

If it has been pressed, a test is made during the performance of step 301 using the detection signal from detector 64 to check whether an original is present at detector 64. If not, the original feeding routine is abandoned. If an original is present, a test is carried out during the pereformance of step 302 to check whether the preceding original has been taken past exposure slit 55 the requisite number of times. For this purpose, the contents of the OT(ORW) are used in which there is an indication of how many times the original of the preceding copy order is still required to be taken past slit 55. If the contents of OT(ORW) are not equal to 0, the original feeding routine is abandoned. If the contents of the associated original counter are 0, step 303 is carried out.

During the performance of step 303, a test is made to check whether there is a possibility that if the original in readiness is introduced into path 54, seam 42 will be situated within an imaging section. For the purpose of this test, the distance between seam 42 on belt 1 and a predetermined location A along the path traversed by belt 1 (see FIG. 1) is determined from the distance between marker 43 and detector 67, the distance between detector 67 and exposure place 59A, the distance between marker 43 and seam 42 and the distance between the exposure place 59A and location A.

The distance between marker 43 and detector 67 is registered in seam position register 203. The distance is expressed as a number of periods of pulses P. The other three distances are stored in read-only memory 155 and are also expressed as numbers of periods of pulses P. The distance between location A and exposures place 59A is equal to the distance traversed by belt 1 when the leading edge of the original covers the distance between stop 49 and exposure slit 55. If the distance between seam 42 and location A is less than the length of the copy to be formed, then if the original is introduced into endless path 54, seam 42 will come within an imaging section on which the copy will be formed.

The length of the copy to be formed, however, is dependent upon the length of the original. The length of the original is still unknown at the time when the original is introduced. What is known, however, is that the original length may not exceed a specific maximum length which is determined by the length of endless path 54. Thus, if the determined distance between seam 42 and location A is less than the copy length corresponding to the maximum original length, the original feeding routine is again abandoned.

If the determined distance is greater than the distance between seam 42 and location A, steps 304, 305, 306 and 307 are carried out successively before the original routine is abandoned. During the performance of step 304, output register 172 is loaded with a 1. If output register 172 had not yet been loaded with a 1, doing so would switch on servo-systems 11 and 15 and synchronous motor 8 to advance belt 1. If output register 172 had previously been loaded with a 1, belt 1 already would have been driven by servo-systems 11 and 15 and synchronous motor 8. In that case, there is no change in the drive of belt 1 as a result of loading register 172.

During the performance of step 305, output register 163 is loaded with a 1. If output register 163 had not yet been loaded with a 1, roller 28 had not yet been brought into the auxiliary position through the agency of actuating means 123, piston 117 and cylinder 118. By loading output register 163 with a 1, roller 28 is brought into the auxiliary position. If output register 163 already has been loaded with a 1, roller 28 already has been brought into the auxiliary position. In that case, roller 28 does not change its position as a result of the loading of register 163.

During the performance of step 306, order table 204 is adjusted. Initially, the contents of ORW 254 are increased by 1 so that after adjustment the pointer points to the next unused row in order table 204. If, however, before the adjustment ORW 254 points to the last row, ORW 254 is so adjusted that after adjustment it points to the first row 205 in order table 204. ORT 255 is then increased by 1 during step 306. The number of copies to be made and the required exposure intensity are then called from the input memory. The number of copies to be made is stored in AT(ORW), OT(ORW) and KT(ORW). The required exposure intensity is stored in BG(ORW). LG(ORW) is loaded with 0.

FIG. 6 represents the flow diagram of the copy table filling routine. This routine is called up by central processing unit 151 at short intervals (e.g. every 10 milliseconds). The copy table filling routine consists of a number of steps, 321 to 335. Steps 321 to 324 determine whether the leading or the trailing edge of the original has passed detector 66 between two different calls of the copy table filling routine by central processing unit 151.

During the performance of step 321, the detection signal of detector 66 is read by central processing unit 151 via input gate 161. The read value is stored in a memory location having a predetermined address in memory 156. This memory location will hereinafter be referred to as "new 66."

During the performance of step 322, the contents of "new 66" are compared with the detection signal which is determined during the previous call of the copy table filling routine by the central processing unit 151. This previous detection signal is stored in a memory location having a predetermined address in memory 156. This memory location will hereinafter be referred to as "old 66." If the contents of "old 66" correspond to the contents of "new 66," the copy table filling routine is abandoned.

If the contents of "old 66" and "new 66" do not correspond to one another, then "old 66" is loaded with the contents of "new 66" during the performance of step 323. On the basis of the contents of "new 66," a check is made during the performance of step 324 to determine whether the leading edge or the trailing edge of the original has passed detector 66. If the contents of "new 66" indicate that detector 66 is actuated by the original, the leading edge of the original has passed detector 66 in the interval of time between the penultimate and last call of the copy table filling routine by the central processing unit 151. In that case, step 325 is carried out after step 324. If the contents of "new 66" indicate that detector 66 is not actuated by an original, then the trailing edge of the original has passed detector 66 in the interval of time between the penultimate and last call of the copy table filling routine by the central processing unit 151. In that case, step 324 is followed by step 332.

During the performance of step 325, the contents KRW 236 are increased by 1 so that now KRW 236 points to the next unused row in copy table 202. However, if before the adjustment, KRW 236 points to the last row (231) from table 202, KRW 236 is so adjusted that after adjustment it points to the first row (226) from copy table 202. AW(KRW) is then loaded in step 325 with the number stored in the first row 215, column 222 of leading edge action table 200. This number indicates the distance between 0 and V1. KRT 237 is also increased by 1. AW(KRW) is so adjusted that after the adjustment AW(KRW) indicates the first row (215) of leading edge action table 200. OW(KRW) is made equal to ORW 254, which indicates the order for which the copy is to be made. The VAB in SG(KRW) is loaded with a 1. The other bits in SG(KRW) are loaded with 0. The position of the leading edge of a new imaging section is, thus, fixed in copy table 202 by the above-described changes made during the performance of step 324 after the leading edge of an original has been detected by dectector 66.

During the performance of step 326, a test is then carried out to check whether the copy to be formed is the last copy of the order. During this test, the contents of OT(ORW) are called up. If the contents of OT(ORW) are equal to 1, this means that the original will be taken for the last time past exposure slit 55. In that case, the copy to be formed is the last of an order and then during the performance of step 327 the bit indicating that it relates to the last copy of an order is loaded with 1. This bit will hereinafter be referred to as LKB. After the loading of LKB, the routine is followed by the performance of step 328. If, during performance of step 327, it is found that OT(ORW) is not equal to 1, step 326 is immediately followed by step 328.

During the performance of step 328, a test is carried out to check whether OT(ORW) corresponds to AT(ORW). If OT(ORW) and AT(ORW) correspond to one another, the copy to be formed is the first of a copying order. In that case, during the performance of step 329, the bit is loaded with a 1 in the status memory indicating that this relates to the first copy of the order, and then the copy table filling routine is abandoned. This bit wil hereinafter be referred to as EKB.

If, however, OT(ORW) and AT(ORW) do not correspond to one another, step 330 is carried out. During the performance of step 330, a check is made to test whether seam 42 comes within the imaging section designated from the position of the leading edge which was determined during step 325. For the purpose of this test, the distance between seam 42 and a predetermined location C (see FIG. 1) along the path traversed by the belt 1 is determined from the distance between marker 43 and detector 67, the distance between detector 67 and exposure place 59A, the distance between marker 43 and seam 42 and the distance between the exposure place 59A and the location C.

The distance between marker 43 and detector 67 is registered in seam position register 203. This distance is expressed as a number of periods of pulses P. The other three distances are stored in read-only memory 155 and are also expressed as periods of pulses P. Central processing unit 151 conventionally calculates the distance between seam 42 and location C from the distances stored in memory and the contents of seam position register 203. The distance between location C and exposure place 59A is equal to the distance covered by belt 1 when the leading edge of an original bridges the distance between dectector 66 and exposure slit 55.

The determined distance between location C and seam 42 is compared with the length of the copy to be formed. This length is stored in LG(ORW). If the determined distance is less than the copy length, seam 42 is situated within the new imaging section. In that case, the so-called dummy-copy-bit is set by loading a 1 in SG(KRW) during the performance of step 331. The dummy-copy-bit is hereinafter referred to as DKB. The copy table filling routine is then abandoned.

If during the performance of step 324 it is found that detector 66 is not actuated, this means that the trailing edge of the original has passed detector 66 during the interval of time between the last and the penultimate call of the copy table filling routine. In that case, step 324 is followed by the steps 332, 333 and 334. During the performance of step 332, output register 169 is loaded with a 0, which results in stop 49 being lowered by actuating means 176 if stop 49 has not yet been lowered.

During the performance of step 33, KRW 236 is increased by 1 so that KRW 236 indicates the next unused row in copy table 202. If, however, before the increase KRW 236 pointed to the last row (231) in copy table 202, KRW 236 is so adjusted that after adjustment the first row (226) of copy table 202 is pointed to. AG(KRW) is then loaded with the number stored in the first row 246, column 244 of trailing edge action table 201. This number indicates the distance between the locations B1 and 0. AW(KRW) is so adjusted that AW(KRW) after the adjustment points to the first row (246) in the trailing edge action table 201. SG(KRW) is loaded with the SG contents of the preceding row in the copy table. VAB in SG(KRW) is then made 0, thus, indicating that the position in question relates to the trailing edge. The position of the trailing edge of a new imaging section is, thus, fixed in copy table 202 by the above-described changes made during the performance of step 333, after the trailing edge of an original has passed detector 66.

Step 333 is followed by step 334 in which a test is carried out to check whether DKB in SG(KRW) is 1. If so, the copy table filling routine is abondoned. If not, OT(ORW) is reduced by 1 and the copy table filling routine is abondoned. If the original counter becomes 0, switch 61 is so actuated by means of a routine (not described) that the original will leave path 54 via switch 61.

FIGS. 7A and 7B represent the flow diagram of a routine for updating copy table 202. This routine will hereinafter be referred to as the copy table updating routine. The copy table updating routine is called whenever pulse generator 180 delivers a pulse on program interrupt input 181 of central processing unit 151.

After calling the routine, the contents of seam position register 203 are updated by means of the steps 340, 341 and 342. During the performance of step 340, a test is carried out to check whether marker 43 on belt 1 is detected by detector 67. If so, the contents of seam position register 203 are set to 0 during the performance of step 342. If not, the contents of seam position register 203 are increased by 1 during performance of step 341.

After updating seam position register 203, the length of the first copy of a copy order is determined by means of the steps 343 and 344. During the performacne of step 343, a test is made to check whether both VAB and EKB in SG(KRW) are 1. If at least one of these two bits is 0, step 343 is followed by step 345. If both bits are equal to 1, the contents LG(ORW) are increased by 1 during the performance of step 344 before step 345 is carried out.

Step 345 is the first step of the part of the copy table updating routine in which the data from copy table 202 pointing to the positions of the leading and trailing edges of the imaging sections are updated and in which a test is carried out to check whether the leading edge or the tailing edge has reached one of the locations V1 to V6 or B1 to B5 respectively. During the performance of step 345, HW 328 is loaded with the contents of KRW 236 and HT 239 is loaded with the contents of the KRT 237.

During the performance of step 346, a test is then carried out to check whether the contents of HT 239 are equal to 0. If not, a test is carried out during the performance of step 347 to check whether AG(HW) contains the stop code SC. If it does, KRT 237, which indicates the number of used rows in the copy table, is reduced to 1 during the performance of step 354. In this way the row in copy table 202 containing the stop code SC is released. Step 354 is followed by step 352.

If, during the test in step 347, it is found that the distance memory pointed to by HW 238 does not contain a stop code SC, the contents of AG(HW) are reduced by 1 during the performance of step 348 and a test is then carried out during the performance of step 349 to check whether the contents of AG(HW) have become 0 after reduction. If not, step 349 is followed by step 352. If the contents have become 0, steps 350 and 351 are carried out before proceeding with step 352.

During the performance of step 350, an action routine is called on. The initial address of the action routine is stored in one of the action tables. VAB SG(HW) indicates the action table in which the initial address is stored. AW(HW) indicates the row of the indicated action table in which the initial address is stored. After the performance of the called action routine, AW(HW) is first increased by 1 so that after the increase AW(HW) points to the next row in the action table. The contents of the memory location in the first column of this row in the action table, which contents indicate the distance to the next action location, is called up and then loaded in AG(HW).

The copy table updating routine then continues with step 352, in which the contents of both HT 239 and HW 238 are reduced by 1. If, however, before the increase, HW 238 points to the first row, HW 238 is so adjusted that it points to the last row after adjustment. After the performance of step 352, a test is again carried out during step 346 to check whether HT 239 is equal to 0. If this is not the case, the program loop formed by the steps 346 to 354 is always called up again until HW has become equal to 0. In that case, all the distances in the distance memories of the used rows of copy table 202 are updated.

FIG. 8 represents the action routine for adjusting the exposure intensity. This action routine is called as soon as the leading edge of an imaging section reaches location V3. First of all, a test is carried out during the performance of step 365 to check whether EKB in SG(HW) is equal to 1. If not, the action routine is abandoned. If it is equal to 1, then during the performance of step 366 the required exposure intensity is called from BG of the row in order table 204 storing the data concerning the copy order in question. This row is indicated by OW(HW). Also, during the performance of step 366, the required exposure intensity is set and the action routine is abandoned.

FIG. 9 represents the flow diagram of the action routine for performing the last action to form a copy. In the example described here, this is the action routine for lowering roller 68 after the heated powder image has been transferred entirely from belt 14 to the copy material fed via conveying path 69. The action routine represented in FIG. 9 consists of the steps 360 to 364.

First, in step 360, the output register 167 is loaded with a 0. As a result, roller 68 is lowered through the agency of the actuating means 174 controlled by the output signal of register 167. During the performance of step 361, a test is then carried out to check whether the DKB associated with this copy is 1. If so, the action routine is abandoned. If not, KT of the copy order for which the action is carried out is reduced by 1 during the performance of step 362. This copy counter is pointed to by OW(HW).

During the performance of step 363, a test is then carried out to check whether the LKB in SG(HW) is 1. If not, the action routine is abandoned. If it is 1, ORT 255 is first reduced by 1 before the action routine is abandoned. In this way the row in order table 204 containing the oldest copy order for which copies were still under formation is released.

FIG. 10 represents the flow diagram of the action routine for switching on lamp 51. This action routine is called at the time when the leading edge of an imaging section has reached location V2. During the performance of step 370, a test is made to check whether DKB in the SG(HW) is 1. If not, the action routine is abandoned. If it is 1, output register 168 is loaded with a 1 during the performance of step 371. As a result, lamp 51 is switched on so that the portion of belt 1 situated beneath lamp 51 is discharged. In a similar action routine, which will, therefore, not be described in detail, and which is called as soon as the trailing edge of an imaging section has passed location B2, register 168 is again loaded with 0 so that lamp 51 is switched off by means of circuit 177.

FIG. 11 represents the flow diagram of the action routine for actuating stop 50 in paper conveying path 69. During the performance of step 372, a test is made to check whether DKB in SG(HW) is equal to 1. If it is, the action routine is abandoned. If it is not, step 373 is carried out before the action routine is abandoned. During the performance of step 373, output register 166 is loaded with a 1. Consequently, stop 50 is raised by actuating means 175 so that the copy material lying in readiness against stop 50 is fed between rollers 34 and 68. Apart from the two action routines described above (FIGS. 10 and 11), DKB does not affect the other action routines.

FIG. 12 represents the flow diagram of an action routine for switching off corona device 23 during the time that seam 42 is situated beneath corona device 23 and for bringing roller 28 into the auxiliary position during the time that seam 42 is taken over roller 28. The action routine in question here is called at regular intervals (e.g. every 10 milliseconds) by central processing unit 151.

After being called, the position of seam 42 is first determined during the performance of step 390 on the basis of the distance between marker 43 and seam 42 and the distance between marker 43 and detector 67. The latter distance is stored in seam position register 203.

Steps 391 and 392 are used to determine whether seam 42 is situtated beneath corona device 23. In this connection use is made of the distance between the front edge 23A of corona device 23 (see FIG. 1) and detector 67, and of the distance between the rear edge 23B of the corona device 23 (see FIG. 1) and detector 67. These distances are stored in read-only memory 155.

During step 391, a test is carried out to check whether seam 42 had reached front edge 23A. If it has not, step 393 is performed. If it has, a check is carried out in step 392 as to whether seam 42 is past the rear edge 23B. If it is, step 393 is performed. If not, step 394 is performed. During the performance of step 394, output register 171 is made 0. As a result, the output of AND gate 191 becomes equal to 0 so that corona device 23 is switched off by actuating circuit 178. During the performance of step 393, output register 171 is loaded with 1. As a result, the output of AND gate 191 will become equal to the output signal of output register 172. Output register 172 is loaded during the action routines for switching corona device 23 on and off.

By means of the steps 395 and 396, it is determined whether seam 42 is at roller 28. During the performance of step 395, a test is made to check whether sea m42 has already reached roller 28. For this purpose, use is made of the distance between location 28A (see FIG. 1) and detector 67. If seam 42 is situated in front of location 28A, in the part between detector 67 and location 28A, step 397 is performed before the action routine is abandoned. Otherwise, step 396 is performed. On performance of step 396, a test is made to check whether seam 42 is situated past location 28B (see FIG. 1), in the part between location 28B and detector 67. If it is, step 397 is performed before the action routine is abandoned. If not, step 398 is performed before the action routine is abandoned. During the performance of step 398, output register 164 is loaded with a 0. As a result, the output signal of AND gate 190 becomes equal to 0 so that roller 28 is brought into the auxiliary position. During the performance of step 397, output register 164 is loaded with a 1 so that the output of AND gate 190 becomes equal to the output signal of output register 165. Output register 165 is loaded in the action routines for the purpose of bringing roller 28 into and out of the transfer position.

As already described above, order counter 215 is increased by 1 during the original feeding routine at the time that a new original is fed into path 54. If the last action for the last copy of an order is performed, the ORT 255 is reduced by 1 during the associated action routine. As soon as the last copy of the last order has been finished, the contents of ORT 255 will accordingly be equal to 0, and in that case, belt 1 is stopped during the performance of a so-called belt stop routine. The flow diagram of the belt stop routine is represented in FIG. 13.

During the performance of the belt stop routine, which is called at regular intervals (e.g. every 100 milliseconds), a test is carried out during step 380 to check whether the contents of ORT 255 are equal to 0. If not, the belt stop routine is abandoned. If it is, a check is carried out during step 381 to determine whether, if belt 1 is stopped, the first copy formed after restarting belt 1 will be formed on a part of belt 1 containing the seam 42. This possibility exists if the distance between location A along belt 1 and seam 42 is less than the longest permissible copy length.

When determining the distance between location A and seam 42, use is made of the distance between marker 43 and detector 67, (this distance being registered in seam position register 203), the distance between seam 42 and marker 43 and the distance between detector 67 and exposure place 59A. These last three distances and also the maximum copy length are stored in read-only memory 155.

If the determined distance is larger than the maximum copy length, steps 382 and 383 are first performed before the belt stop routine is abandoned. During the performacne of step 383, output register 172 is loaded with a 0. Consequently, servo-systems 11 and 15 and synchronous motor 8 are switched off so that belt 1 stops. During the performance of step 383, output register 163 is loaded with 0 so that roller 28 is brought into the position of rest through the agency of actuating means 123, cylinder 118, piston 117 and toggle lever 115.

FIG. 14 represents the block schematic of servo-system 35 for controlling the speed of belt 14. The voltage VL1 at the slider of potentiometer 37 is fed via signal line 38 to a first input 400 of a summation circuit 401 and to an input 402 of a correction circuit 403, the latter being described in detail hereinafter. Output 404 of correction circuit 403 is connected to a second input 405 of summation circuit 401.

Control signal 419 originating from AND gate 190 is fed not only to actuating means 124 for bringing roller 28 into the transfer position but also to an input 409 of correction circuit 403 and to the input of a delay circuit 406. Delay circuit 406, in response to a 1-0 changeover of signal 419, generates a signal 408 of fixed pulse width which is delayed with respect to the 1-0 changeover. Both signal 419 and signal 408 are represented against time in FIG. 16.

Output 411 of summation circuit 401 is connected to a first input 412 of a controller 413. A servo-motor 415 is energized by a signal originating from an output 414 of controller 413. Servo-motor 415 is connected to the shaft of drive roller 36 for driving belt 14. A tachogenerator 416 is also connected to the shaft of servo-motor 415. Output 417 of tachogenerator 416 delivers a voltage proportional to the revolutions per second of motor 415 to a second input 418 of controller 413. Through controller 413, the revolutions per second of motor 415 and, hence, the speed of belt 14 are controlled in a manner known in control theory such that the voltage at inputs 412 and 418 of controller 413 remain equal to one another. The speed of belt 14 controlled in this way is thus proportional to the voltage (Vref) at the input 412 of controller 413.

FIG. 15 represents the correction circuit 403 in detail. Voltage VL1 is fed to input 402 of an operational amplifier 420 connected as a voltage follower. The output of amplifier 420 is connected, via an electronic switch 421 actuated by signal 419, to an anolog memory circuit 422. The output of amplifier 420 is also connected to the positive input of a subtraction circuit 423. The negative input of subtraction circuit 423 is connected to the output of memory circuit 422. The output of subtraction circuit 423 is connected to the negative input of a second subtraction circuit 424. The output of subtraction circuit 424 is connected, via an electronic switch 425 actuated by signal 408, to a second memory circuit 426. The output of memory circuit 426 acts as the output 404 of correction circuit 403. Output 404 is connected, via an electronic switch 427 actuated by signal 419, to the input of a third memory circuit 428. The output of memory circuit 428 is connected to the positive input of subtraction circuit 424.

The operation of servo-system 15 will be described hereinafter with reference to FIGS. 16 and 17. FIG. 16 represents the signals 419 and 408, voltage VL1, voltage Vref, voltage-ΔU at the output of subtraction circuit 423, and voltage VG at output 404 against time. FIG. 17 represents the speed Vt of belt 14 against the voltage Vref and, for a number of values of VG, the voltage Vref as a function of the position XR of roller 27 with respect to block 32. Line F denotes Vref as a function of XR for VG=0. In that case, Vref is equal to VL1.

Assuming that the output of output register 164 is equal to 1 at time T0 and the output signal for register 166 is equal to 0, then signal 419 will be equal to 0, roller 28 will be in the auxiliary position and, thus, roller 27 will be locked. XRA in FIG. 17 denotes the position in which the roller 27 is locked. G denotes the voltage VL1A associated with XRA at the slider of potentiometer 37. The voltage VG at the output 404 of correction circuit 403 is equal to VG1.

The voltage Vref (VRA) associated with XRA is accordingly equal to the sum of VL1A and VG1. The speed of belt 14 associated with the voltage VRA is denoted by VTB. In the case under examination here, the speed VTB of belt 14 is not equal to the speed VB1 of belt 1. If at time T1 roller 28 has to be brought into the transfer position, signal 419 will become equal to 1. As a result, the electronic switches 421 and 427 are closed. Also, belt 1 is pressed against belt 14. In these conditions, belt 1 assumes the speed VTB of belt 14 at the pressure zone.

Since the speed at which belt 14 carries off belt 1 is lower than the speed VB1 at which the synchronous motor 8 supplies belt 1, roller 127 will move towards potentiometer 37. As a result of this movement, the voltage VL1 and, hence, also the speed VT of belt 14 will increase. The speed VT will continue to increase until roller 27 has moved to such an extent that the voltage Vref has reached a value at which the speed of belt 14 has become equal to the speed VB1. The position associated with this speed is denoted by XRC in FIG. 17.

At time T2, signal 419 again becomes 0 so that switches 421 and 427 are opened. The voltage at the outputs of memory circuits 422 and 428 are, thus, fixed at a value equal to the value of the output at time T2. This voltage is equal to VG1 for circuit 428, and this voltage is equal to slider voltage VL1C at time T2 for circuit 422. Also, as a result of the 1-0 changeover of signal 419, roller 28 is brought into the auxiliar position and roller 27 is brought back to position XRA in which it is locked. As a result, the voltage VL1 will fall off again.

The voltage-ΔU at the output of subtraction circuit 423 now indicates the difference between the slider voltage VL1A in the case of a locked roller 27 and the voltage at the output of memory circuit 422, which latter voltage is representative of the slider voltage VL1C as it was at time T2. The voltage at the output of subtraction circuit 424 is now equal to VG1+ΔU. At time T3, signal 408 becomes equal to 1 and the voltage at the output of memory circuit 426 becomes equal to the value VG1+ΔU. Consequently, the voltage Vref increases by a value ΔU so that Vref again becomes equal to the value of Vref at time T2, at which value the speed Vt of belt 14 was equal to the speed VB1. This voltage is denoted by VRE in FIG. 17.

At time T4, signal 408 again becomes 0 so that switch 425 is again opened. Consequently, the voltage at output 404 is fixed at the value VG2. If signal 419 again becomes 1 at time T5, belt 1 will again be brought into contact with belt 14. As a result, belt 1 will again be driven by belt 14. Since the speeds of belt 1 and belt 14 before being brought into contact were already equal to one another, the speed of belt 1 at the pressure zone will not change.

If, as a result of a change in the system parameters or for any other reason, the speeds of belt 1 and belt 14 are no longer equal to one another during the interval of time when the belts are disngaged from one another, the output voltage at output 404 will always be adjusted as described above so that after adjustment the speeds of the belts are again equal to one another in the free-running condition. This results in reduced wear on belts 1 and 14. Also, the distance over which an image is entrained by belts 1 and 14 always remains the same so that the time required to bring an image from exposure place 59A to roller 68 always remains the same and, hence, the time at which copy materials have to be introduced between rollers 34 and 68 is always known.

While presently preferred embodiments of the invention have been described and shown in the drawings with particularity, the invention may be otherwise embodied within the scope of the appended claims. 

What is claimed is:
 1. A method of controlling an image forming device in which images are formed on an advancing medium wherein the position of an image with respect to an initial position is registered by counting periods of a pulse signal, the frequency of which is proportional to the speed at which the medium is advanced,and wherein the registered positions are repeatedly compared with a number of predetermined positions with control signals being generated if the compared positions are identical, the improvement wherein(a) a plurality of images can be under formation at one time and both a first position related to the leading edge and a second position related to the trailing edge are registered for each image under formation; (b) the predetermined positions are divided into a first and a second group, which groups are related to respectively a leading edge action table and a trailing edge action table; (c) each first position is compared with the predetermined positions from the first group to determine whether and what action by the image forming device is necessary; and (d) each second registered position is compared with the predetermined positions from the second group to determine whether and what action by the image forming device is necessary.
 2. A device for implementing the method of claim 1 having a memory, a pulse generator for generating the pulse signal, a means for comparing the registered positions with the predetermined positions and a means for generating control signals when the compared positions are identical wherein(a) the predetermined positions belonging to the first group are stored in a first part of the memory; (b) the predetermined positions belonging to the second group are stored in a second part of the memory; and (c) the device is provided with counting means which register the first and second positions for each image under formation. 